package com.ruoyi.personnel.oa.leave.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.sql.Timestamp;

/**
 * 请假，数据传输对象，面向前端需求
 * @author lsy 2021.11.2
 * 修改：
 */
@Data
public class LeaveDto {
    /**
     * 请假编号
     */
    @NotNull(message = "请假编号不能为空")
    @ApiModelProperty(value = "请假编号", required = true)
    private String leaveId;

    /**
     * 员工编号
     */
    @NotNull(message = "员工编号不能为空")
    @ApiModelProperty(value = "员工编号", required = true)
    private String staffId;

    /**
     * 员工名称
     */
    @ApiModelProperty(value = "员工名称")
    private String staffName;

    /**
     * 部门编号
     */
    @ApiModelProperty(value = "部门编号")
    private Long deptId;

    /**
     * 部门名称
     */
    @ApiModelProperty(value = "部门名称")
    private String deptName;

    /**
     * 请假类型
     */
    @NotNull(message = "请假类型不能为空")
    @ApiModelProperty(value = "请假类型", required = true)
    private String leaveType;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp endTime;

    /**
     * 请假原因
     */
    @ApiModelProperty(value = "销售情况")
    private String leaveReason;

    /**
     * 请假状态
     * 0：请假中、1：请假通过、2：请假不通过。
     */
    @ApiModelProperty(value = "销售情况")
    private String leaveStatus;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp createTime;
}
